home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection Student Program / ADC Tools Sampler CD Disk 3 1999.iso / Cool Demos, SDKs, & Tools / Demos⁄Tools⁄Offers / Alpha ƒ / Tcl / Packages / macros.tcl < prev    next >
Text File  |  1998-04-05  |  2KB  |  67 lines

  1. ## -*-Tcl-*- (install)
  2.  # ###################################################################
  3.  # 
  4.  #  FILE: "macros.tcl"
  5.  #                                    created: 27/7/97 {11:39:46 pm} 
  6.  #                                last update: 23/2/98 {10:57:27 am} 
  7.  # ###################################################################
  8.  ##
  9. alpha::extension macros 0.2.2 {
  10.     menu::buildProc KbdMacros rebuildMacroMenu
  11.     menu::insert Utils submenu end KbdMacros
  12. } disable {
  13.     menu::uninsert Utils submenu end KbdMacros
  14. }
  15.  
  16.  
  17. proc dumpNamedMacro {} {
  18.     global macroArr
  19.     set name [listpick -p "Macro name?" [array names macroArr]]
  20.     regsub -all ";\r" $macroArr($name) "\r" text
  21.     insertText $text
  22. }
  23.  
  24. proc nameLastMacro {} {
  25.     global macroArr modifiedArrVars
  26.     set name [prompt "Macro name?" ""]
  27.     regsub macroName [keyboardMacro] $name macro
  28.     regsub -all "\r" $macro ";\r" macro
  29.     eval $macro
  30.     set macroArr($name) $macro
  31.     lappend modifiedArrVars macroArr
  32.     rebuildMacroMenu
  33. }
  34.  
  35. proc deleteNamedMacro {} {
  36.     global macroArr modifiedArrVars
  37.     
  38.     set which [listpick -p "Delete which macro?" [lsort [array names macroArr]]]
  39.     unset macroArr($which)
  40.     lappend modifiedArrVars macroArr
  41.     rebuildMacroMenu
  42. }
  43.  
  44. proc rebuildMacroMenu {} {
  45.     Menu -n KbdMacros {
  46.         "/qstartKeyboardMacro"
  47.         "/rendKeyboardMacro"
  48.         "/sexecuteKeyboardMacro"
  49.         "(-"
  50.         "nameLastMacro"
  51.         "deleteNamedMacro"
  52.         "dumpNamedMacro"
  53.         "(-"
  54.         "Menu -n macros {}"
  55.     }    
  56.     global macroArr
  57.     
  58.     set l {}
  59.     foreach f [lsort [array names macroArr]] {
  60.         eval $macroArr($f)
  61.         lappend l $f
  62.     }
  63.     eval Menu -m -n macros [list $l]
  64. }
  65.  
  66.  
  67.